package config

import (
	"denglibin.io/common/util"
	"github.com/sirupsen/logrus"
	"sync"
)

// ApplicationConfig 当前web应用配置
type ApplicationConfig struct {
	Host      string //主机名（域名）
	Port      int32  //端口
	Https     bool   //是否启用https
	Mod       string // debug, release,test 运行模式
	UploadDir string //上传文件保存目录
}

//配置实例
var applicationConfig *ApplicationConfig
var once sync.Once

// GetApplicationConfig 获取配置信息
func GetApplicationConfig() *ApplicationConfig {
	once.Do(func() {
		var config ApplicationConfig
		logrus.Info("加载配置文件:conf/application.json")
		util.LoadJsonConfig("conf/application.json", &config)
		logrus.Info("端口:", config.Port)
		logrus.Info("文件上传目录:", config.UploadDir)
		logrus.Info("是否启用https:", config.Https)
		applicationConfig = &config
	})
	return applicationConfig
}
